Transitioning steering control from an autonomous vehicle to a driver

ABSTRACT

Techniques are described for transitioning control of a steering system from an autonomous mode in a vehicle to a driver-controlled mode where the driver can control the steering wheel of the steering system. A method includes receiving values that describe an amount of torque and a direction of torque in response to a torque applied to a steering wheel of a steering system operated in an autonomous mode, determining that the values are either greater than or equal to a threshold value or are less than or equal to a negative of the threshold value, determining that the values are measured over a period of time greater than or equal to a pre-determined amount of time, and transitioning the steering system from being operated in the autonomous mode to being operated in a driver-controlled mode in which the steering system is under manual control.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No.16/870,841, filed on May 8, 2020, which claims priority to and benefitof U.S. Patent Application No. 62/847,289, filed on May 13, 2019. Theaforementioned applications of which are incorporated by reference intheir entireties.

TECHNICAL FIELD

This document relates to systems, apparatus, and methods to controlsteering of an autonomous vehicle.

BACKGROUND

Autonomous vehicle navigation is a technology that can allow a vehicleto sense the position and movement of vehicles around an autonomousvehicle and, based on the sensing, control the autonomous vehicle tosafely navigate towards a destination. An autonomous vehicle may controlthe steering angle, a throttle amount to control the speed of theautonomous vehicle, gear changes, and/or a breaking amount to controlthe extent to which the brakes are engaged. An autonomous vehicle mayoperate in several modes. In some cases, an autonomous vehicle may allowa driver to operate the autonomous vehicle as a conventional vehicle bycontrolling the steering, throttle, clutch, gear shifter, and/or otherdevices. In other cases, a driver may engage the autonomous vehiclenavigation technology to allow the vehicle to be driven by itself.

SUMMARY

This patent document describes systems and methods for transitioningcontrol of a steering wheel of a vehicle operating in an autonomous modeto a driver-controlled mode where a driver can control the steeringwheel of the vehicle.

In an exemplary embodiment a method is disclosed for receiving a set ofvalues in which each value indicates an amount of torque and a directionof torque in response to a torque applied to a steering wheel of asteering system in a vehicle, where the torque is applied to thesteering wheel while the steering system is operated in an autonomousmode without manual control; making a first determination that eithereach value is greater than or equal to a threshold value or each valueis less than or equal to a negative of the threshold value; making asecond determination that a period of time over which the set of valuesis measured is greater than or equal to a pre-determined amount of time;and disabling, in response to the first determination and the seconddetermination, the steering system from being operated in the autonomousmode, where the disabling the steering system transitions the steeringsystem from being operated in the autonomous mode to being operated in adriver-controlled mode in which the steering system is under manualcontrol.

In some embodiments, the steering system is disabled by not sending oneor more control commands that control one or more motors of the steeringsystem. In some embodiments, the one or more control commands include: aposition control command that indicates an amount of angulardisplacement or a position of a steering wheel of the steering system,or a torque control command that indicates an amount of torque to applyto the steering wheel. In some embodiments, the steering system isdisabled by sending a command to disable one or more modes of thesteering system that enable the steering system to receive a positioncontrol command or a torque control command, where the position controlcommand indicates an amount of angular displacement or a position of asteering wheel of the steering system, and where the torque controlcommand indicates an amount of torque to apply to the steering wheel.

In some embodiments, the threshold value is selected based on a speed ofthe vehicle. In some embodiments, the threshold value and the speed ofthe vehicle are inversely related. In some embodiments, the thresholdvalue and the speed of the vehicle are inversely related according toany one of a linear function, a non-linear function, and a discontinuousfunction. In some embodiments, the direction of torque for each value isindicated by either a positive sign or a negative sign.

In some embodiments, the steering system is disabled by the processorconfigured to not send a position control command that controls a motorof the steering system, and the position control command indicates aposition of the steering wheel of the steering system. In someembodiments, the steering system is disabled by the processor configuredto not send a torque control command to a motor of the steering system,and the torque control command indicates an amount of torque to apply tothe steering wheel. In some embodiments, the steering system is disabledby the processor configured to send a command to disable one or moremodes of the steering system that enable the steering system to receivea torque control command, and the torque control command indicates anamount of torque to apply to the steering wheel.

In some embodiments, the threshold value is selected based on a speed ofthe vehicle, where the threshold value and the speed of the vehicle areinversely related according to a non-linear function. In someembodiments, the threshold value is selected based on a speed of thevehicle, where the threshold value and the speed of the vehicle areinversely related according to a discontinuous function. In someembodiments, the direction of torque for at least some of the set ofvalues is indicated by either a positive sign or a negative sign.

In some embodiments, the steering system is disabled by sending acommand to disable one or more modes of the steering system that enablethe steering system to receive a command with which the steering wheelof the steering system is controlled. In some embodiments, the thresholdvalue is selected based on a speed of the vehicle, and wherein thethreshold value and the speed of the vehicle are related according to amathematical function. In some embodiments, the direction of torque foreach value is indicated by a direction indicator. In some embodiments,set of values are periodically measured by a torque sensor

In yet another exemplary aspect, the above-described method is embodiedin a non-transitory computer readable program stored on a non-transitorycomputer readable media. The computer readable program includes codethat when executed by a processor, causes the processor to perform themethods described in this patent document.

In yet another exemplary embodiment, a device that is configured oroperable to perform the above-described methods is disclosed.

The above and other aspects and their implementations are described ingreater detail in the drawings, the descriptions, and the claims.

BRIEF DESCRIPTION OF THE DRAWING

FIG. 1 shows a block diagram of an example ecosystem in which operationsrelated to steering control can be implemented.

FIG. 2 shows a diagram of a steering system coupled to the front wheelsof a vehicle.

FIG. 3 shows an exemplary flow diagram of operations performed by asteering control module to analyze the set of measured values that eachdescribe an amount of torque and a direction of torque applied to asteering wheel.

FIG. 4 shows an exemplary flow diagram of operations performed by asteering control module to transition a steering system from beingoperated in an autonomous mode to being operated in a driver-controlledmode.

DETAILED DESCRIPTION

A vehicle may operate in an autonomous mode to safely navigate on aroad. In an autonomous mode, an in-vehicle control computer can controlsystems such as the steering system, a throttle, and/or a brake unit. Insome cases, however, a driver may disengage the autonomous mode and mayintervene to control the steering of the vehicle in a driver-controlledmode. For example, a driver may take over control of the steering wheelto navigate the vehicle in case of an emergency or to make an impromptustop. As described in various example embodiments, a system and methodfor transitioning control of the steering system from the autonomousvehicle to a driver are described in this patent document.

FIG. 1 shows a block diagram of an example vehicle ecosystem 100 inwhich operations related to steering control can be implemented in anin-vehicle control computer 150. The vehicle ecosystem 100 includesseveral systems and components that can generate and/or deliver one ormore sources of information/data and related services to the in-vehiclecontrol computer 150 that may be located in a vehicle 105. Examples ofvehicle 105 include a car, a truck, or a semi-trailer truck. Thein-vehicle control computer 150 can be in data communication with aplurality of vehicle subsystems 140, all of which can be resident in auser's vehicle 105. A vehicle subsystem interface 160 is provided tofacilitate data communication between the in-vehicle control computer150 and the plurality of vehicle subsystems 140.

The vehicle 105 may include various vehicle subsystems that support ofthe operation of vehicle 105. The vehicle subsystems may include avehicle drive subsystem 142, a vehicle sensor subsystem 144, and/or avehicle control subsystem 146. The vehicle drive subsystem 142 mayinclude components operable to provide powered motion for the vehicle105. In an example embodiment, the vehicle drive subsystem 142 mayinclude an engine, wheels/tires, a transmission, an electricalsubsystem, and a power source.

The vehicle sensor subsystem 144 may include a number of sensorsconfigured to sense information about an environment or condition of thevehicle 105. For example, the vehicle sensor subsystem 144 may includean inertial measurement unit (IMU), a Global Positioning System (GPS)transceiver, a RADAR unit, a laser range finder/LIDAR unit, and/or oneor more cameras or image capture devices. The vehicle sensor subsystem144 may also include sensors configured to monitor internal systems ofthe vehicle 105 (e.g., an O₂ monitor, a fuel gauge, an engine oiltemperature).

The IMU may include any combination of sensors (e.g., accelerometers andgyroscopes) configured to sense position and orientation changes of thevehicle 105 based on inertial acceleration. The GPS transceiver may beany sensor configured to estimate a geographic location of the vehicle105. For this purpose, the GPS transceiver may include areceiver/transmitter operable to provide information regarding theposition of the vehicle 105 with respect to the Earth. The RADAR unitmay represent a system that utilizes radio signals to sense objectswithin the local environment of the vehicle 105. In some embodiments, inaddition to sensing the objects, the RADAR unit may additionally beconfigured to sense the speed and the heading of the objects proximateto the vehicle 105. The laser range finder or LIDAR unit may be anysensor configured to sense objects in the environment in which thevehicle 105 is located using lasers. The cameras may include one or moredevices configured to capture a plurality of images of the environmentof the vehicle 105. The cameras may be still image cameras or motionvideo cameras.

The vehicle control system 146 may be configured to control operation ofthe vehicle 105 and its components. Accordingly, the vehicle controlsystem 146 may include various elements such as a throttle, a brakeunit, a navigation unit, a steering system and/or an autonomous controlunit.

The throttle may be configured to control, for instance, the operatingspeed of the engine and, in turn, control the speed of the vehicle 105.The brake unit can include any combination of mechanisms configured todecelerate the vehicle 105. The brake unit can use friction to slow thewheels in a standard manner. The navigation unit may be any systemconfigured to determine a driving path or route for the vehicle 105. Thenavigation unit may additionally be configured to update the drivingpath dynamically while the vehicle 105 is in operation. In someembodiments, the navigation unit may be configured to incorporate datafrom the GPS transceiver and one or more predetermined maps so as todetermine the driving path for the vehicle 105. The steering system mayrepresent any combination of mechanisms that may be operable to adjustthe heading of vehicle 105 in an autonomous mode or in adriver-controlled mode.

FIG. 2 shows a diagram of a steering system coupled to the front wheelsof a vehicle. The steering system 200 includes a steering wheel 202 thatmay be connected to a steering column steer drive 204 that can include amotor to assist the steering column to turn the steering shaft 206. Thesteering shaft 206 may couple the steering column steer drive 204 to thesteering gear steer drive 208. The steering gear steer drive 208 mayinclude a motor to assist the steering rack 210 to turn the front wheels212. The steering rack 210 may couple the front wheels 212 to thesteering gear steer drive 208. In some embodiments, the motor of thesteering gear steer drive 208 may assist a steering rack coupled to therear wheels so that the rear wheels can be turned.

In some embodiments, the steering column steer drive 204 or the steeringgear steer drive 208 may include a microcontroller and a memory, wherethe microcontroller may store in the memory control modes to operate thesteering control steer drive 204 or the steering gear steer drive 208.The control modes may include (1) position, (2) torque, (3) powerassist, and/or (4) passive. When the steering devices 204 and/or 208 areoperated in a position control mode, the autonomous control unitprovides a position control command via the steering control module,where the position control command may indicate to the steering systemthe amount of angular displacement or the position of the steeringwheel. When the steering devices 204 and/or 208 are operated in a torquecontrol mode, the autonomous control unit provides the torque controlcommand via the steering control module, where the torque controlcommand can indicate the amount of torque to be applied to the steeringwheel. When the steering devices 204 and/or 208 are operated in a powerassist control mode the power steering feature can be enabled ordisabled. When the steering devices 204 and/or 208 are operated in apassive control mode, the steering devices 204 or 204 does not processor operate on commands received from the autonomous control unit and/orpower assist control mode may be disabled so that power steering may bedisabled. The steering devices 204 and/or 208 may be operated in one ormore control modes. The steering control module may send commands to thesteering devices 204 and/or 208 to enable or disable the control modes.

Referring to FIG. 1 , when a vehicle 105 is being operated in anautonomous mode, one or more motors included in the steering system maycontrol a steering angle of the steering wheel so that the vehicle maybe steered to a desired direction. The motor(s) may receive signals(e.g., position control command and/or torque control command) from theautonomous control unit via the steering control module 165 to controlthe steering angle of the steering wheel. For example, the steeringcontrol module 165 may send a command to operate the steering columnsteer drive and/or the steering gear steer drive to operate in aposition control mode, and the autonomous control unit can send theposition control command to the steering column steer drive and/or thesteering gear steer drive to control the amount of steering of thevehicle 105.

The autonomous control unit may represent a control system configured toidentify, evaluate, and avoid or otherwise negotiate potential obstaclesin the environment of the vehicle 105. In general, the autonomouscontrol unit may be configured to control the vehicle 105 for operationwithout a driver or to provide driver assistance in controlling thevehicle 105. In some embodiments, the autonomous control unit may beconfigured to incorporate data from the GPS transceiver, the RADAR, theLIDAR, the cameras, and/or other vehicle subsystems to determine thedriving path or trajectory for the vehicle 105.

The steering control module 165 controls the control modes of thesteering column steer drive and/or the steering gear steer drive so thatthe steering control module 165 can disengage autonomous mode operationin situations where a driver initiates a driver-controlled mode wherethe driver controls the steering wheel of the vehicle. The steeringcontrol module 165 can determine that a driver has initiated atransition from an autonomous mode to a driver-controlled mode based onmeasurements obtained by the steering control module 165 from thesteering system. In some embodiments, the steering system may includesensor(s) that can measure and provide an amount of torque and/ordirection in which the torque is applied to one or more motors of thesteering system.

Referring to FIG. 2 , the sensor(s) may be located in the steeringcolumn steer drive 204 and/or the steering gear steer drive 208. Thesensors may also provide to the steering control module informationrelated to steering wheel speed, steering wheel torque, a commandedsteering position or torque (e.g., from the autonomous control unit),and actual or current steering wheel position. The steering column steerdrive 204 and/or the steering gear steer drive 208 can measure an amountof torque and/or the direction of torque applied to the steering systemoperated in an autonomous mode and/or applied to the steering wheel in adriver-controlled mode where the driver controls the steering wheel ofthe vehicle. When a driver decides to take control of the steeringwheel, the driver may turn the steering wheel or refuse to let thesteering wheel move to indicate that he or she wants to disengageautonomous mode operation and transition to a driver-controlled mode.

Referencing back to FIG. 1 , using the techniques described in thispatent document, the steering control module 165 can determine that adriver wants to disengage autonomous mode and take manual control overthe steering system. In some embodiments, upon determining that thedriver wants to take control of the steering system, the steeringcontrol module 165 can determine not to send one or more controlcommands (e.g., position control command and/or torque control command)that control one or more motors of the steering system in the autonomousmode. In some embodiments, upon determining that the driver wants totake control of the steering system, the steering control module 165 cansend a command to the steering column steer drive and/or the steeringgear steer drive to disable at least the position and/or torque controlmodes.

In some embodiments, the steering control module 165 may determine thata driver wants to operate the vehicle in a driver-controlled mode bydetermining that torque values measured by the sensor(s) are greaterthan or equal to a threshold value, where the torque values indicatethat a torque applied by the driver is in a same direction, and wherethe torque values are obtained or measured over a period of time greaterthan or equal to a pre-determined amount of time. In some embodiments,the sensor(s) located in the steering system may provide a directionindicator information (e.g., a positive sign or a negatives sign) thatcan indicate whether the steering wheel is being turned clockwise orcounterclockwise. For example, the sensor(s) may provide a set of torquevalues and associated direction indicator such as {+1.2, +1.3, +1.1,+0.95, +1.2, +1.2, +1.1, +1.1, +1.1, +1.3, +1.3, +1.1, +1.0, +1.0, +1.0,+1.1} for a period of time (e.g., 160 milliseconds, where the torquevalues and direction indicators are obtained at a regular interval(e.g., every 10 milliseconds). In this example, if the threshold valueis +0.9 and if the pre-determined amount of time is 150 milliseconds,then the steering control module 165 can determine that the drive wantsto manually control the steering system. In an example implementationthe torque values can be measured by a torque measurement sensor or atorque transducer.

By analyzing the torque values, the period of time over which the torquevalues are measured, and/or direction of torque associated with thetorque values, the steering control module 165 can filter situationswhere the driver has turned the steering wheel from situations wheresteering wheel may move due to vibrations or disturbances caused bydriving on a road. Thus, the steering control module 165 may filter outsituations where steering wheel may randomly move due to randomvibrations or disturbances and may not move in one direction for a timeperiod that is greater than or equal to a pre-determined amount of time.

The steering control module 165 may adjust the threshold value to whichthe measured torque is compared based on receiving the speed of thevehicle 105. The steering control module 165 adjust the threshold valuebased on the speed of the value at least because more torque may berequired to turn a steering wheel at a given steering angle at lowerspeeds compared to at higher speeds. Thus, for a given steering angle, asteering system operating in an autonomous mode may receive signals froman autonomous control unit that indicate a higher torque value to turn asteering wheel at lower speeds than at higher speeds. For example, whenthe vehicle 105 has a speed close to zero, the steering control module165 may select a first threshold value, and when the vehicle 105 has aspeed close to 65 mph, the steering control module 165 may select asecond threshold value that may be lower than the first threshold value.Thus, the steering control module 165 may adjust the threshold value asa function of the speed of the vehicle 105, where the threshold valueand the speed have an inverse relationship. The torque threshold valuecan be adjusted as a function of vehicle's speed by using a linearfunction, a non-linear function, or a discontinuous function.

In some embodiments, the torque measured by the sensor(s) may includeboth the torque applied by the steering device(s) (204 and/or 208 inFIG. 2 ) and the torque applied by the driver at the steering wheel. Insuch embodiments, the steering control module may select the thresholdvalue based on the torque applied by the steering device(s) and based onthe speed of the vehicle.

The steering control module 165 disengages autonomous mode to enable thedriver to operate the vehicle in a driver-controlled mode. The steeringcontrol module 165 can disengage autonomous mode by not sending theposition control command and/or torque control command to the steeringsystem. In some embodiments, the steering control module 165 may send acommand to the autonomous control unit to disable autonomous modeoperation. In some embodiments, in a driver-controlled mode, thesteering control module 165 may enable the driver to operate thesteering system in a power assist control mode or in a passive controlmode.

Many or all of the functions of the vehicle 105 can be controlled by thein-vehicle control computer 150. The in-vehicle control computer 150 mayinclude at least one data processor 170 (which can include at least onemicroprocessor) that executes processing instructions stored in anon-transitory computer readable medium, such as the data storage device175 or memory. The in-vehicle control computer 150 may also represent aplurality of computing devices that may serve to control individualcomponents or subsystems of the vehicle 105 in a distributed fashion. Insome embodiments, the data storage device 175 may contain processinginstructions (e.g., program logic) executable by the data processor 170to perform various methods and/or functions of the vehicle 105,including those described in this patent document. For instance, thedata processor 170 executes the operations associated with steeringcontrol module 165 for transitioning control of the steering system fromthe autonomous vehicle operation to the driver. The data storage device175 may contain additional instructions as well, including instructionsto transmit data to, receive data from, interact with, or control one ormore of the vehicle drive subsystem 142, the vehicle sensor subsystem144, and the vehicle control subsystem 146. The in-vehicle controlcomputer 150 can be configured to include a data processor 170 and adata storage device 175. In some embodiments, the vehicle controlcomputer 150 may include a vehicle control unit (VCU) and a computerserver which can include one or more computers. The VCU may perform theoperations described in this patent document for the steering controlmodule 165.

The in-vehicle control computer 150 may control the function of thevehicle 105 based on inputs received from various vehicle subsystems(e.g., the vehicle drive subsystem 142, the vehicle sensor subsystem144, and the vehicle control subsystem 146). For example, the in-vehiclecontrol computer 150 may use input from the vehicle control system 146in order to control the steering system to avoid an obstacle detected bythe vehicle sensor subsystem 144 and the steering control module 165,move in a controlled manner, or follow a path or trajectory based onoutput generated by the steering control module 165. In an exampleembodiment, the in-vehicle control computer 150 can be operable toprovide control over many aspects of the vehicle 105 and its subsystems.

FIG. 3 shows an exemplary flow diagram of operations performed by asteering control module to analyze the set of measured values that eachdescribe an amount of torque and a direction of torque applied to asteering wheel. The flow diagram in FIG. 3 can enable the steeringcontrol module can determine that a driver wants to disengage autonomousmode and take manual control over the steering system. In FIG. 3 , atthe receiving operation 302, the steering control module receives aspeed of a vehicle whose steering system is being operated in anautonomous mode and/or an amount of torque measured by the steeringsystem sensor(s). The receiving operation 302 may be performedperiodically (e.g., for each 10-millisecond cycle) so that a set ofvalues may be obtained for speed and/or torque over a period of time.

At the selecting operation 303, the steering control module candetermine or select a threshold value based on the speed of the vehicle.A mathematical function can describe the relationship between thethreshold value and the speed. In some embodiments, the threshold valuecan be adjusted as a function of vehicle's speed by using an inverselinear function, an inverse non-linear function, or an inversediscontinuous function. In a first example, a threshold value can be+1.2 when the autonomous vehicle is operating at a speed less than 30mph and the threshold value can be +0.7 when the autonomous vehicle isoperating at a speed greater than 50 mph at least because more torquemay be required to turn a steering wheel at a given steering angle atlower speeds compared to at higher speeds, where the threshold value candecrease from +1.2 to +0.7 in a linear manner based on the speed thatincreases from 30 mph to 50 mph. In a second example, using the valuesdescribed in the first example above, a the threshold value can decreasefrom +1.2 to +0.7 in a non-linear manner so that between 30 mph and 40mph, the rate at which the threshold value decreases is higher than therate at which the threshold value decreases between 40 mph and 50 mph.In a third example, using the values described in the first exampleabove, a the threshold value can decrease from +1.2 to +0.7 in adiscontinuous manner so that from 30 mph to 40 mph, the threshold valueis +1.2, from 40 mph to 45 mph, the threshold value is +1.0, and from 45mph to 50 mph, the threshold value is +0.7.

At the first determining operation 304, the steering control module canreceive and determine whether a set of measured values that describe anamount of torque is greater than or equal to a selected threshold value.At the first determining operation 304, if the steering control moduledetermines that each value from the set of measured torque values isgreater than or equal to the selected threshold value, then the steeringcontrol module performs the second determining operation 306.

At the second determining operation 306, if the steering control moduledetermines that the set of measured values that describe an amount oftorque are obtained or measured over a period of time that is greaterthan or equal to a pre-determined amount of time (e.g., 150milliseconds), then the steering control module determines that thedriver wants to take manual control of the steering system and performsthe transition operation 308. In embodiments where the torque value maybe periodically determined (e.g., every 25 milliseconds) by a sensor(e.g., torque sensor or torque transducer), the steering control modulecan determine the period of time based on a number of measured torquevalues. In some embodiments, the torque values may be associated with atime stamp value so that the steering control module can subtract thetime stamp value of the last torque value in the set of values from thefirst torque value in the same set of values to obtain a period of timeover which the set of measured values were obtained.

At the transition operation 308, the steering control module may disablethe steering system from operating in an autonomous mode by not sendingone or more control commands that control one or more motors of thesteering system so that a driver may manually operate the steeringsystem. The one or more control commands may include a position controlcommand and/or a torque control command. In some embodiments, at thetransition operation 308, the steering control module may disable thesteering system from operating in the autonomous mode by sending acommand to disable modes of the steering system that enable the steeringsystem to receive a position control command or a torque controlcommand.

At the second determining operation 306, if the steering control moduledetermines that the set of measured torque values is obtained ormeasured over a period of time that is less than the pre-determinedamount of time (e.g., 150 milliseconds), then the steering controlmodule can return to the receiving operation 302.

At the first determining operation 304, if the steering control moduledetermines that any one value from the set of measured torque values isnot greater than or equal to the selected threshold value, then thesteering control module performs the third determining operation 310. Atthe third determining operation 310, if the steering control moduledetermines that each value from the set of measured torque values isless than or equal to a negative of the selected threshold value (e.g.,−1*selected threshold value), then the steering control module performsthe second determining operation 306 as described above. In someembodiments, the first determining operation 304 may be performed beforethe third determining operation 310. In some other embodiments, thethird determining operation 310 may be performed before the firstdetermining operation 304.

FIG. 4 shows an exemplary flow diagram of operations performed by asteering control module to transition a steering system from beingoperated in an autonomous mode to being operated in a driver-controlledmode. At the receiving operation 402, the steering control modulereceives a set of values in which each value indicates an amount oftorque and a direction of torque in response to a torque applied to orvia a steering wheel of a steering system in a vehicle, where the torqueis applied to the steering wheel while the steering system is operatedin an autonomous mode without manual control. In the autonomous mode,one or more motors of the steering system can apply torque to thesteering system. A person (e.g., driver) can apply a torque to thesteering wheel when the person wants to take manual control of thesteering system and operate the steering wheel in a driver-controlledmode.

At the first determining operation 404, the steering control modulemakes a first determination that either each value is greater than orequal to a threshold value or each value is less than or equal to anegative of the threshold value. At the second determining operation406, the steering control module makes a second determination that aperiod of time over which the set of values is measured is greater thanor equal to a pre-determined amount of time. In some embodiments, thefirst determining operation 404 may be performed before the seconddetermining operation 406. In some other embodiments, the seconddetermining operation 406 may be performed before the first determiningoperation 404.

After the steering control module performs the first determiningoperation 404 and the second determining operation 406, the steeringcontrol module performs the disabling operation 408. At the disablingoperation 408, the steering control module disables the steering systemfrom being operated in the autonomous mode, where the disabling of thesteering system transitions the steering system from being operated inthe autonomous mode to being operated in a driver-controlled mode inwhich the steering system is under manual control.

In some embodiments, the steering system is disabled by not sending oneor more control commands that control one or more motors of the steeringsystem. In some embodiments, the one or more control commands include: aposition control command that indicates an amount of angulardisplacement or a position of a steering wheel of the steering system,or a torque control command that indicates an amount of torque to applyto the steering wheel. In some embodiments, the steering system isdisabled by sending a command to disable one or more modes of thesteering system that enable the steering system to receive a positioncontrol command or a torque control command, where the position controlcommand indicates an amount of angular displacement or a position of asteering wheel of the steering system, and where the torque controlcommand indicates an amount of torque to apply to the steering wheel.

In some embodiments, the threshold value is selected based on a speed ofthe vehicle. In some embodiments, the threshold value and the speed ofthe vehicle are inversely related. In some embodiments, the thresholdvalue and the speed of the vehicle are inversely related according toany one of a linear function, a non-linear function, and a discontinuousfunction. In some embodiments, the direction of torque for each value isindicated by either a positive sign or a negative sign.

In this document the term “exemplary” is used to mean “an example of”and, unless otherwise stated, does not imply an ideal or a preferredembodiment.

Some of the embodiments described herein are described in the generalcontext of methods or processes, which may be implemented in oneembodiment by a computer program product, embodied in acomputer-readable medium, including computer-executable instructions,such as program code, executed by computers in networked environments. Acomputer-readable medium may include removable and non-removable storagedevices including, but not limited to, Read Only Memory (ROM), RandomAccess Memory (RAM), compact discs (CDs), digital versatile discs (DVD),etc. Therefore, the computer-readable media can include a non-transitorystorage media. Generally, program modules may include routines,programs, objects, components, data structures, etc. that performparticular tasks or implement particular abstract data types. Computer-or processor-executable instructions, associated data structures, andprogram modules represent examples of program code for executing stepsof the methods disclosed herein. The particular sequence of suchexecutable instructions or associated data structures representsexamples of corresponding acts for implementing the functions describedin such steps or processes.

Some of the disclosed embodiments can be implemented as devices ormodules using hardware circuits, software, or combinations thereof. Forexample, a hardware circuit implementation can include discrete analogand/or digital components that are, for example, integrated as part of aprinted circuit board. Alternatively, or additionally, the disclosedcomponents or modules can be implemented as an Application SpecificIntegrated Circuit (ASIC) and/or as a Field Programmable Gate Array(FPGA) device. Some implementations may additionally or alternativelyinclude a digital signal processor (DSP) that is a specializedmicroprocessor with an architecture optimized for the operational needsof digital signal processing associated with the disclosedfunctionalities of this application. Similarly, the various componentsor sub-components within each module may be implemented in software,hardware or firmware. The connectivity between the modules and/orcomponents within the modules may be provided using any one of theconnectivity methods and media that is known in the art, including, butnot limited to, communications over the Internet, wired, or wirelessnetworks using the appropriate protocols.

While this document contains many specifics, these should not beconstrued as limitations on the scope of an invention that is claimed orof what may be claimed, but rather as descriptions of features specificto particular embodiments. Certain features that are described in thisdocument in the context of separate embodiments can also be implementedin combination in a single embodiment. Conversely, various features thatare described in the context of a single embodiment can also beimplemented in multiple embodiments separately or in any suitablesub-combination. Moreover, although features may be described above asacting in certain combinations and even initially claimed as such, oneor more features from a claimed combination can in some cases be excisedfrom the combination, and the claimed combination may be directed to asub-combination or a variation of a sub-combination. Similarly, whileoperations are depicted in the drawings in a particular order, thisshould not be understood as requiring that such operations be performedin the particular order shown or in sequential order, or that allillustrated operations be performed, to achieve desirable results.

Only a few implementations and examples are described and otherimplementations, enhancements and variations can be made based on whatis described and illustrated in this disclosure.

What is claimed is:
 1. A method of controlling a vehicle operation, comprising: performing a first determination, by a computer located in a vehicle, that each torque value in a set of torque values is past one or more threshold values, wherein the set of torque values indicate torque applied over time to a steering wheel of a steering system of the vehicle; performing a second determination that a period of time over which the set of torque values were measured is greater than a certain amount of time; and causing, in response to the first determination and the second determination, the vehicle to transition from a first mode where the computer is configured to control the steering system to a second mode where the steering system is operated under manual control.
 2. The method of claim 1, wherein each torque value in the set of torque values is associated with a time stamp value.
 3. The method of claim 2, wherein the period of time is determined by subtracting a last time stamp value associated with a last torque value in the set of torque values from a first time stamp value associated with a first torque value in the set of torque values.
 4. The method of claim 1, wherein in the first mode, a position control command is sent to the steering system to control a steering of the vehicle, and wherein the position control command indicates an amount of angular displacement or a position of the steering wheel.
 5. The method of claim 1, wherein in the first mode, a torque control command is sent to the steering system to control a steering of the vehicle, and wherein the torque control command indicates an amount of torque to be applied to the steering wheel.
 6. The method of claim 1, wherein each torque value in the set of torque values is determined to be past the one or more threshold values upon comparing each torque value with a first threshold value or upon comparing each torque value with a second threshold value, and wherein the first threshold value is higher than the second threshold value.
 7. The method of claim 6, wherein the comparing the set of torque values with the first threshold value includes determining that each torque value is greater than the first threshold value.
 8. The method of claim 6, wherein the comparing the set of torque values with the second threshold value includes determining that each torque value is less than the second threshold value.
 9. The method of claim 6, wherein the comparing the set of torque values with the first threshold value is performed before the comparing each torque value to the second threshold value.
 10. A system comprising a computer that includes a processor and a memory comprising stored instructions that upon execution configure the processor to: perform a first determination, by a computer located in a vehicle, that each torque value in a set of torque values is past one or more threshold values, wherein the set of torque values indicate torque applied over time to a steering wheel of a steering system of the vehicle; perform a second determination that a period of time over which the set of torque values were measured is greater than a certain amount of time; and cause, in response to the first determination and the second determination, the vehicle to transition from a first mode where the computer is configured to control the steering system to a second mode where the steering system is operated under manual control.
 11. The system of claim 10, wherein the set of torque values are periodically measured.
 12. The system of claim 10, wherein the period of time is determined based on a number of torque values in the set of torque values.
 13. The system of claim 10, wherein the steering system includes the steering wheel that is connected to one side of a steering column, wherein another side of the steering column is coupled to a steering shaft, and wherein the steering column is associated with a motor that is configured to assist the steering column to turn the steering shaft.
 14. The system of claim 10, wherein the vehicle is operated in an autonomous mode as the first mode, and wherein, in the autonomous mode, the processor is configured to operate one or more systems within the vehicle to cause the vehicle to be driven.
 15. A non-transitory computer readable program storage medium having code stored thereon, the code, when executed by a processor, causing the processor to implement a method comprising: performing a first determination, by a computer located in a vehicle, that each torque value in a set of torque values is past one or more threshold values, wherein the set of torque values indicate torque applied over time to a steering wheel of a steering system of the vehicle; performing a second determination that a period of time over which the set of torque values were measured is greater than a certain amount of time; and causing, in response to the first determination and the second determination, the vehicle to transition from a first mode where the computer is configured to control the steering system to a second mode where the steering system is operated under manual control.
 16. The non-transitory computer readable program storage medium of claim 15, wherein a control command is not sent to the steering system in the second mode, and wherein the control command includes a position control command indicative of an amount of angular displacement or a position of the steering wheel, or a torque control command indicative of an amount of torque to be applied to the steering wheel.
 17. The non-transitory computer readable program storage medium of claim 15, wherein each torque value in the set of torque values is associated with an indication that indicates a direction in which torque is applied.
 18. The non-transitory computer readable program storage medium of claim 17, wherein the first determination includes that each torque value in the set of torque values is past the one or more threshold values and each torque in the set of torque values has a same direction.
 19. The non-transitory computer readable program storage medium of claim 17, wherein the direction includes a clockwise direction or a counterclockwise direction.
 20. The non-transitory computer readable program storage medium of claim 15, wherein the causing the vehicle to transition from the first mode to the second mode includes sending a command to disable operation of the steering system under the first mode. 